#pragma once

#include <cstdint>
#include <limits>
#include <optional>
#include <string>
#include <utility>
#include <vector>

#include <userver/proto-structs/impl/oneof_codegen.hpp>
#include <userver/proto-structs/io/fwd.hpp>

#include <userver/proto-structs/io/std/optional.hpp>
#include <userver/proto-structs/io/std/string.hpp>
#include <userver/proto-structs/io/std/vector.hpp>

#include <userver/proto-structs/io/std/int32_t.hpp>
#include <userver/proto-structs/io/std/int64_t.hpp>
#include <userver/proto-structs/io/std/size_t.hpp>
#include <userver/proto-structs/io/std/uint32_t.hpp>
#include <userver/proto-structs/io/std/uint64_t.hpp>

#include <userver/proto-structs/io/userver/proto_structs/unbreakable_dependency_cycle.hpp>
#include <userver/proto-structs/io/userver/utils/box.hpp>
